<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ARToolKitPlus: ARToolKitPlus::TrackerMultiMarker Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6-NO -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<b>ARToolKitPlus</b>::<a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html">TrackerMultiMarker</a></div>
<h1>ARToolKitPlus::TrackerMultiMarker Class Reference</h1><!-- doxytag: class="ARToolKitPlus::TrackerMultiMarker" --><!-- doxytag: inherits="ARToolKitPlus::Tracker" -->Defines a simple interface for multi-marker tracking with ARToolKitPlus.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;TrackerMultiMarker.h&gt;</code>
<p>
<p>Inheritance diagram for ARToolKitPlus::TrackerMultiMarker:
<p><center><img src="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.png" usemap="#ARToolKitPlus::TrackerMultiMarker_map" border="0" alt=""></center>
<map name="ARToolKitPlus::TrackerMultiMarker_map">
<area href="class_a_r_tool_kit_plus_1_1_tracker.html" alt="ARToolKitPlus::Tracker" shape="rect" coords="0,0,209,24">
</map>
<a href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#dd928181fd0cb12d281a53e7a37603be">init</a> (const char *nCamParamFile, const char *nMultiFile, ARFloat nNearClip, ARFloat nFarClip, <a class="el" href="class_a_r_tool_kit_plus_1_1_logger.html">ARToolKitPlus::Logger</a> *nLogger=NULL)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#f12a4099462e1865c767ae7231f637e3">calc</a> (const unsigned char *nImage)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculates the transformation matrix  <a href="#f12a4099462e1865c767ae7231f637e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0a815fc65c8247c764034d5fcb4795d"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::getNumDetectedMarkers" ref="f0a815fc65c8247c764034d5fcb4795d" args="() const =0" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#f0a815fc65c8247c764034d5fcb4795d">getNumDetectedMarkers</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of detected markers used for multi-marker tracking. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#7a92ef77303f1a3fd8d5acb076584295">setUseDetectLite</a> (bool nEnable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables usage of arDetectMarkerLite. Otherwise arDetectMarker is used.  <a href="#7a92ef77303f1a3fd8d5acb076584295"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#ed3aec64f500ff548c1e2756c05cac98">getDetectedMarkers</a> (int *&amp;nMarkerIDs)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns array of detected marker IDs.  <a href="#ed3aec64f500ff548c1e2756c05cac98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2c42f01e70b990d6a697c6095d73f94"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::getDetectedMarker" ref="a2c42f01e70b990d6a697c6095d73f94" args="(int nWhich) const =0" -->
virtual const ARMarkerInfo &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#a2c42f01e70b990d6a697c6095d73f94">getDetectedMarker</a> (int nWhich) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the ARMarkerInfo object for a found marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const ARMultiMarkerInfoT *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#9ee0b73293545ee3cf76bcff8602aa4b">getMultiMarkerConfig</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the loaded ARMultiMarkerInfoT object.  <a href="#9ee0b73293545ee3cf76bcff8602aa4b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#30f7328484f19edf15a66536c5415402">getARMatrix</a> (ARFloat nMatrix[3][4]) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides access to ARToolKit' internal version of the transformation matrix.  <a href="#30f7328484f19edf15a66536c5415402"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Defines a simple interface for multi-marker tracking with ARToolKitPlus. 
<p>
ARToolKit::TrackerMultiMarker provides all methods to access ARToolKit for multi marker tracking without needing to mess around with it directly. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f12a4099462e1865c767ae7231f637e3"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::calc" ref="f12a4099462e1865c767ae7231f637e3" args="(const unsigned char *nImage)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual int ARToolKitPlus::TrackerMultiMarker::calc           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const unsigned char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>nImage</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
calculates the transformation matrix 
<p>
pass the image as RGBX (32-bits) in 320x240 pixels.     </td>
  </tr>
</table>
<a class="anchor" name="30f7328484f19edf15a66536c5415402"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::getARMatrix" ref="30f7328484f19edf15a66536c5415402" args="(ARFloat nMatrix[3][4]) const =0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void ARToolKitPlus::TrackerMultiMarker::getARMatrix           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">ARFloat&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>nMatrix</em>[3][4]          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Provides access to ARToolKit' internal version of the transformation matrix. 
<p>
This method is primarily for compatibility issues with code previously using ARToolKit rather than ARToolKitPlus. This is the original transformation matrix ARToolKit calculates rather than the OpenGL style version of this matrix that can be retrieved via <a class="el" href="class_a_r_tool_kit_plus_1_1_tracker.html#96a3ccd66be001d23c059928224f2cf6">getModelViewMatrix()</a>.     </td>
  </tr>
</table>
<a class="anchor" name="ed3aec64f500ff548c1e2756c05cac98"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::getDetectedMarkers" ref="ed3aec64f500ff548c1e2756c05cac98" args="(int *&amp;nMarkerIDs)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void ARToolKitPlus::TrackerMultiMarker::getDetectedMarkers           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int *&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>nMarkerIDs</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns array of detected marker IDs. 
<p>
Only access the first <a class="el" href="class_a_r_tool_kit_plus_1_1_tracker_multi_marker.html#f0a815fc65c8247c764034d5fcb4795d">getNumDetectedMarkers()</a> markers     </td>
  </tr>
</table>
<a class="anchor" name="9ee0b73293545ee3cf76bcff8602aa4b"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::getMultiMarkerConfig" ref="9ee0b73293545ee3cf76bcff8602aa4b" args="() const =0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual const ARMultiMarkerInfoT* ARToolKitPlus::TrackerMultiMarker::getMultiMarkerConfig           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the loaded ARMultiMarkerInfoT object. 
<p>
If loading the multi-marker config file failed then this method returns NULL.     </td>
  </tr>
</table>
<a class="anchor" name="dd928181fd0cb12d281a53e7a37603be"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::init" ref="dd928181fd0cb12d281a53e7a37603be" args="(const char *nCamParamFile, const char *nMultiFile, ARFloat nNearClip, ARFloat nFarClip, ARToolKitPlus::Logger *nLogger=NULL)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual bool ARToolKitPlus::TrackerMultiMarker::init           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>nCamParamFile</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>nMultiFile</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>ARFloat&nbsp;</td>
          <td class="mdname" nowrap> <em>nNearClip</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>ARFloat&nbsp;</td>
          <td class="mdname" nowrap> <em>nFarClip</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="class_a_r_tool_kit_plus_1_1_logger.html">ARToolKitPlus::Logger</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>nLogger</em> = <code>NULL</code></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
nCamParamFile is the name of the camera parameter file nNearClip &amp; nFarClip are near and far clipping values for the OpenGL projection matrix nLogger is an instance which implements the ARToolKit::Logger interface     </td>
  </tr>
</table>
<a class="anchor" name="7a92ef77303f1a3fd8d5acb076584295"></a><!-- doxytag: member="ARToolKitPlus::TrackerMultiMarker::setUseDetectLite" ref="7a92ef77303f1a3fd8d5acb076584295" args="(bool nEnable)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void ARToolKitPlus::TrackerMultiMarker::setUseDetectLite           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>nEnable</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Enables usage of arDetectMarkerLite. Otherwise arDetectMarker is used. 
<p>
In general arDetectMarker is more powerful since it keeps history about markers. In some cases such as very low camera refresh rates it is advantegous to change this. Using the non-lite version treats each image independent.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li>TrackerMultiMarker.h</ul>
<hr size="1"><address style="align: right;"><small>Generated on Wed Jul 26 18:59:55 2006 for ARToolKitPlus by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
</body>
</html>
